home *** CD-ROM | disk | FTP | other *** search
- /* ==========
- * AEADesc.hh
- * ==========
- *
- * Implemented by AEADesc.cc
- */
-
- #pragma once
-
- #include "AEARegistry.h"
-
- class AEADescX {
- friend class AEADesc;
- private:
- AEADescX();
- AEADescX(AEDesc inAEDesc);
- virtual ~AEADescX();
-
- virtual void Retain();
- virtual void Release();
-
- private:
- long refCount;
- bool owned;
-
- protected:
- AEDesc mAEDesc;
- };
-
- class AEADesc {
- friend class AEADescList;
- friend class AEADescAppleEvent;
- public:
- AEADesc();
- AEADesc(AEADesc &inDesc); // copy constructor
- AEADesc(AEDesc inAEDesc);
- AEADesc(DescType inTypeCode, const void *inDataPtr, Size inDataSize);
- virtual ~AEADesc();
-
- virtual AEDesc &Ref();
- virtual const AEDesc &Ref() const;
-
- virtual void Reset();
-
- virtual DescType DescriptorType() const;
-
- virtual Boolean Equals(const AEDesc &inAEDesc) const;
-
- virtual void Create(DescType inTypeCode, const void *inDataPtr, Size inDataSize);
- virtual const AEDesc &operator=(const AEDesc &inAEDesc);
- virtual void Duplicate(const AEDesc &inAEDesc);
- virtual void Dispose();
- virtual void Get(DescType &outLongInt) const;
- virtual void Get(long &outLongInt) const;
- virtual void Get(Str255 &outString) const;
-
- protected:
- AEADescX &mX;
-
- };
-